﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcSite.Models;
using System.Globalization;

namespace MvcSite.Controllers
{
    public class NotizieController : Controller
    {
        //
        // GET: /Notize/
        

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult NewNotice(string operazione)
        {
            ViewData["ListCategorie"] = GestoreNotizie.SelectListCategorie(string.Empty);
            return View();
        }

        [ValidateInput(false)]
        public ActionResult SaveNotice(int id, string Titolo, string ListCategorie, string TextArea, string Stato, bool nuova)
        {
            if(nuova)
                GestoreNotizie.SaveNewNotice(Titolo, ListCategorie, TextArea , "InAttesa");
            else
                GestoreNotizie.UpdateNewNotice(id, Titolo, ListCategorie, TextArea, "InAttesa");
            return new RedirectResult("../Admin#ui-tabs-2");
        }

        [ValidateInput(false)]
        public ActionResult UpdateNotice(int id, string Titolo, string ListCategorie, string TextArea, string Stato)
        {
            GestoreNotizie.UpdateNewNotice(id, Titolo, ListCategorie, TextArea, Stato.ToString());
            return new RedirectResult("../Admin#ui-tabs-2");
        }

        public ActionResult ModificaNotice(int id)
        {
            Notizia Notizia = GestoreNotizie.CaricaNotizia(id);
            if (Notizia != null)
                ViewData["Notizia"] = Notizia;
            else
                ViewData["Notizia"] = new Notizia(-1, "Nuova Notizia", "", DateTime.Now, DateTime.Now, Stato.InAttesa, "");
            ViewData["ListCategorie"] = GestoreNotizie.SelectListCategorie(Notizia.Categoria);
            return View();
        }

        
        public ActionResult ListNotice()
        {
            ViewData["ListNotice"] = GestoreNotizie.ListNotice(false);
            return PartialView();
        }

        public bool DeleteNotice(int id)
        {
            GestoreNotizie.DeleteNotice(id);
            return true;
        }

        public bool GetNotice()
        {
            List<Notizia> notizie = GestoreNotizie.GetNotizie(2, "");
            return true;
        }

        public ActionResult GetNotizia(int id)
        {
            Notizia notizia = GestoreNotizie.GetNotizia(id);
            ViewData["Notizia"] = notizia;
            return View("Notizia");
        }

    }
}
